package controllers;

import play.*;
import play.data.validation.Required;
import play.mvc.*;

import java.util.*;

import models.*;


public class CCidade extends Controller {
	
	public static void cadastrarCidade(@Required String cidade, @Required String estado)
	{
    	//Verifica se o usuario esta logado
		if(session.current().isEmpty())
		{
			//Dispara mensagem de erro e redireciona para a pagina onde o erro é exibido
			flash.error("usuario não autenticado!");
			Application.login();
		}
		else
		{
			//Cria o objeto cidade
			Cidade novaCidade = new Cidade(estado, cidade);
			
			//valiada erros 
			if(validation.hasErrors())
			{
				//Dispara mensagem de erro e redireciona para a pagina onde o erro é exibido
				flash.error("Preencha o nome da cidade!");
				Application.cadastrarCidade();
			}
			
			
			
			//salva no banco
			novaCidade.setCidade(novaCidade.getCidade().trim());
			novaCidade.save();
			
			//redireciona para a pagina cidades
			Application.cidades();
		}
	}
	
	
	public static void editarCidade(long codCidade)
	{
    	//Verifica se o usuario esta logado
		if(session.current().isEmpty())
		{
			//Dispara mensagem de erro e redireciona para a pagina onde o erro é exibido
			flash.error("usuario não autenticado!");
			Application.login();
		}
		else
		{
			//Traz a ciadede do banco
			Cidade cidade = Cidade.find("codCidade", codCidade).first();
			
			//atribui novo nome da cidade enviado pelo formulario
			cidade.setCidade(request.params.get("cidade"));
			
			//atribui novo estado enviado pelo formulario
			cidade.setEstado(request.params.get("estado"));
			
			//salva alterações no banco de dados
			cidade.setCidade(cidade.getCidade().trim());
			cidade.save();
			
			//redireciona para a pagina cidades
			Application.cidades();
		}
	}
	
	
	//traz uma cidade 
    public static String getCidade(long codCidade)
    {    	
    	Cidade cidade = Cidade.find("CodCidade",codCidade).first();
    	
    	return cidade.getCidade();
    }
    
}
